//
//package de.fh.dortmund.pk1.aufgabe1.cmd;
//
//import java.util.InputMismatchException;
//import java.util.Scanner;
//import java.util.Vector;
//import de.fh.dortmund.pk1.aufgabe1.cluedo.Computer;
//import de.fh.dortmund.pk1.aufgabe1.cluedo.Karte;
//import de.fh.dortmund.pk1.aufgabe1.cluedo.Mensch;
//import de.fh.dortmund.pk1.aufgabe1.cluedo.Raum;
//import de.fh.dortmund.pk1.aufgabe1.cluedo.StartCluedo;
//import de.fh.dortmund.pk1.aufgabe1.cluedo.Zufall;
//import de.fh.dortmund.pk1.aufgabe1.exception.*;
//
//
//public class Konsole
//{
//	private Scanner sc = new Scanner(System.in);
//	
//	//Vector wird angelegt für die History
//	public static Vector<String> vec = new Vector<String>();
//	public static Vector<String> algInfos = new Vector<String>();
//	public static Vector<String> historieKomplett = new Vector<String>();
//	public static Vector<String> hisLetzteRunde = new Vector<String>();
//	
//	//Variabel, um zu gucken wie viele Spieler noch mitspielen
//	public int spielerNochVorhanden = 6;
//
//	// return --> gewonnen = true bzw. nichtGewonne = false
//	/**
//	 * @param sp Spieler welcher gehen soll.
//	 * @return Liefert Anzahl der moeglichen 4er-Raeume
//	 */
//	
//	// hier wird geguckt, ob ein Raum mit 4 Schritten erreichbar ist für den Mensch
//	private int raum4Erreichbar(Mensch sp)
//	{
//		// Raum[] raumf4 = new Raum[2];
//		int rf4index = 0;
//		for(int i = 0; i < sp.getPosition().getRaumAugen().length; i++)
//		{
//			if(sp.getPosition().getRaumAugen()[i] == 4)
//				rf4index++;				//pro Raum +1
//		}
//		return rf4index;
//	}
//
//	/**
//	 * 
//	 * @param sp Spieler welcher gehen soll.
//	 * @param inRaum Raum in den gegangen werden soll.
//	 * @param zweiAufEinmal Uebergabe, ob mehrere Raeume geganegn werden sollen
//	 * @return Liefert Erfolg/MIsserfolg der Runde
//	 */
//	
//	//Übergben Spieler, inRaum wo er sich befindet
//	private boolean raum4Abarbeiten(Mensch sp, Raum inRaum)
//	{
//		boolean raumDa = false;
//		int rf4index = raum4Erreichbar(sp);
//		Raum[] raumf4 = new Raum[rf4index];
//		// speichern der raeume, welche nur mit 4 erreichbar sind.
//		int rf4 = 0;
//		// holt sich die Räume mit der Augenlänge(Entfernte Schritte) mit 4
//		for(int i = 0; i < sp.getPosition().getRaumAugen().length; i++)
//		{
//			if(sp.getPosition().getRaumAugen()[i] == 4)
//			{
//				raumf4[rf4] = sp.getPosition().getRaumverbindung()[i];
//				raumDa = true; //wenn mind. ein  raum gibt Setzt raumDa=true
//				rf4++;
//			}
//		}
//		//wenn rein Raum da ist
//		if(raumDa)
//		{
//			try
//			{
//				//versucht gehe in einen Raum > 4 und < 6
//				return gehRaumwc4kl6(sp, inRaum, raumDa, raumf4, rf4index);
//			}
//			catch(NullPointerException npe)
//			{
//				return false; /* Nur ein Raum mit "nur" AugenZahl 4 erreichbar */
//			}
//		}
//		else //hat nicht genug augen
//		{
//			Konsole.vec.add("Spieler " + sp.getName()
//					+ " hat nicht genug Augen um den Raum zu wechseln.\n");
//			System.out
//					.println("Sie haben leider nicht ausreichend Augen erreicht und können ihre Position nicht verändern!");
//		}
//		return false;
//	}
//
//	/**
//	 *
//	 * Spieler Mensch macht einen Zug
//	 * 
//	 * @param sp Spieler welcher am Zug ist.
//	 * @return Spieler noch Drin 
//	 */
//	public boolean spielerZug(Mensch sp)
//	{
//		System.out.println("--------------------");
//		/*
//		 * allgemeine Infos anzeigen??
//		 */
//		System.out
//				.println("Moechten Sie sich die allgemeinen Infos anzeigen lassen? Ja --> j ; Nein --> n");
//		String alginfosAusgabe = sc.next();
//		if(alginfosAusgabe.equals("j"))
//		{
//			System.out.println(algInfos);
//		}
//		/*
//		 * Historie komplett anzeigen??
//		 */
//		System.out
//				.println("Moechten Sie sich die komplette Historie anzeigen lassen? Ja --> j ; Nein --> n");
//		String komplettAusgabe = sc.next();
//		if(komplettAusgabe.equals("j"))
//		{
//			System.out.println(historieKomplett);
//		}
//		/*
//		 * Historie Letze Runde anzeigen??
//		 */
//		System.out
//				.println("Moechten Sie sich die Historie der letzten Rundeanzeigen lassen? Ja --> j ; Nein --> n");
//		String letzteRundeAusgabe = sc.next();
//		if(letzteRundeAusgabe.equals("j"))
//		{
//			System.out.println(hisLetzteRunde);
//		}
//		boolean retBool = false;
//		
//		/*
//		 * Normaler Spielablauf
//		 */
//		
//		//Ausgabe
//		Konsole.vec.add("####################\n");
//		
//		System.out.println("####################");
//		System.out.println("Spieler am Zug: " + sp.getName() + " ("
//				+ sp.getPosition().getName() + ")");
//		Konsole.vec.add("Spieler am Zug: " + sp.getName() + " ("
//				+ sp.getPosition().getName() + ")\n");
//
//		//Ausgabe, wieviel Schritte spielern gehen kann
//		System.out.println("Augen zum gehen insgesamt: " + sp.getWueCounter());
//		Raum inRaum = null;
//		
//		/*
//		 * <WuerfelCounter> ueberpruefen -->
//		 */
//		
//		if(sp.getWueCounter() >= 4 && sp.getWueCounter() < 6)
//		{
//			//Fragen ob 4er Raum gehen moechte
//			System.out
//					.println("Moechten sie einen Raum betreten, den Sie mit 4 Schritten erreichen koennen. Wenn ja tippen Sie j, sonst ein n");
//			if(sc.next().equals("j"))
//			{
//				Konsole.vec.add("Spieler " + sp.getName()
//						+ " betritt Raum der 4 Schritte entfernt ist.\n");
//				retBool = raum4Abarbeiten(sp, inRaum); 				//4er Raum gehen
//			}
//			else
//			{
//				System.out
//						.println("Sie haben die Ihre restlichen Schritte gespart fuer den naechsten wurf.\n");
//				Konsole.vec.add("Spieler " + sp.getName() + " hat "
//						+ sp.getWueCounter() + " gespart.");
//			}
//		}
//		//wenn Wurf >5
//		else if(sp.getWueCounter() >= 6)
//		{
//			retBool = gehRaumWcmin6(sp, inRaum, 6);				//6er|4er Raum abarbeiten
//			sp.setWueCounter(0);								//Keine Augen bleiben übrig, da in Raum gegangen
//		}
//		else
//		{
//			Konsole.vec.add("Spieler " + sp.getName()
//					+ " hat nicht genug Augen um den Raum zu wechseln.\n");
//			System.out
//					.println("Sie haben leider nicht ausreichend Augen erreicht und koennen ihre Position nicht veraendern!");
//			retBool = false;
//		}
//		Konsole.hisLetzteRunde.removeAllElements();
//		Konsole.hisLetzteRunde.add("----------------------\n");
//		return retBool;
//	}
//
//	//Ausgabe für Sieger (Mensch)
//	public void siegerIst(Mensch sp)
//	{
//		Konsole.vec.add("Spieler ist " + sp.getName() + "\n");
//		System.out.println("Sieger ist:" + sp.getName());
//	}
//
//	/**
//	 * @param sp Spieler, welcher gewonnen hat
//	 */
//	//Ausgabe für Sieger (Computer)
//	public void siegerIst(Computer sp)
//	{
//		Konsole.vec.add("Sieger ist:" + sp.getName() + "\n");
//		System.out.println("Sieger ist:" + sp.getName());
//	}
//
//	//gibt an welche Funktionen der Mensch hat, wenn er in einen Raum gegangen ist.
//	private boolean sucheAussageAus(Mensch sp)
//	{
//		while(true)
//		{
//			//Scanner ließt Buchstabe ein
//			String derAusspruch = sc.next();
//			if(derAusspruch.equals("v"))
//			{
//				Konsole.vec.add("Spieler " + sp.getName()
//						+ " spricht ein Verdacht aus\n");
//				String verdaechtigteKarte = spielerVerdacht(sp);				//Karte die gezeigt wurde wird zurück gegeben
//				if(verdaechtigteKarte.equals(""))
//				{
//					System.out.println("Es wurde keine Karte gefunden");
//					Konsole.vec.add("Es wurde keine Karte gefunden,\n");
//				}
//				else
//					System.out.println("Folgende Karte wurde gefunden: "
//							+ verdaechtigteKarte);
//				return false;
//			}
//			else if(derAusspruch.equals("a"))
//			{
//				Konsole.vec.add("Spieler " + sp.getName()
//						+ " erhebt eine Anklage\n");
//				if(spielerAnklage(sp))				//ruft Methode Anklage auf.
//				{
//					siegerIst(sp);
//					return true;					//war Anklage richtig return true für gewonnen
//				}
//				else
//				{
//					sp.setNochDrin(false);			//rausgeflogen, da falsche Anglage
//					Konsole.vec
//							.add("Spieler "
//									+ sp.getName()
//									+ " ist ausgeschieden, da die Anklage falsch war.\n");
//					System.out.println("Die Anklage war falsch. Spieler:"
//							+ sp.getName() + " ist ausgeschieden");
//					return false;					//return false da Spiel nicht gewonnnen
//				}
//			}
//			else if(derAusspruch.equals("s"))
//			{
//				return false;				//für Stehn bleiben
//			}
//			else if(derAusspruch.equals("w"))
//			{
//				if(sp.getWueCounter() > 3)			//wenn würfel >3 darf aussuchen, ob nochmal gehen
//				{
//					spielerZug(sp);					//ruft wieder spielerZug auf
//					return false;
//				}
//				else
//					System.out
//							.println("Sie haben keine gültige Funktion ausgewählt! Bitte neu eintippen");
//			}
//			else
//			{
//				System.out
//						.println("Sie haben keine gültige Funktion ausgewählt! Bitte neu eintippen");
//			}
//		}
//	}
//
//	// Mensch spricht Verdacht aus
//	private String spielerVerdacht(Mensch sp)
//	{
//		System.out.println("Geben Sie die Person an, die Sie verdächtigen.");
//		String person;
//		String waffe;
//		sc.nextLine();
//		boolean personVorhanden = false;
//		boolean waffeVorhanden = false;
//		while(true)				//solange bis Eingabe Person richtig 
//		{
//			person = sc.nextLine();
//			for(int i = 0; i < Karte.getVerd().length; i++)
//			{
//				if(Karte.getVerd()[i].equals(person))
//				{
//					personVorhanden = true;
//				}
//			}
//			if(personVorhanden == true)
//			{
//				break;
//			}
//			System.out
//					.println("Die eingegebene Person gibt es nicht! Bitte neu eingeben.");
//		}
//		System.out.println("Geben Sie die Tatwaffe an, die Sie verdächtigen.");
//		while(true)					//soalnge bis Waffe richtig
//		{
//			waffe = sc.nextLine();
//			for(int i = 0; i < Karte.getWaffe().length; i++)
//			{
//				if(Karte.getWaffe()[i].equals(waffe))
//				{
//					waffeVorhanden = true;
//				}
//			}
//			if(waffeVorhanden == true)
//			{
//				break;
//			}
//			System.out
//					.println("Die eingegebene Waffe gibt es nicht! Bitte neu eingeben.");
//		}
//		Raum raum = sp.getPosition();					//gibt Raumposition an
//		Konsole.vec.add("Verdächtigte Person: " + person + "\n");
//		Konsole.vec.add("Verdächtigte Raum: " + raum.getName() + "\n");
//		Konsole.vec.add("Verdächtigte Waffe: " + waffe + "\n");
//		
//		setzeVerdaechtigenSpielerRaum(person, raum);				//setzt verdächtige Person in diesen Raum
//		
//		Konsole.historieKomplett.add(sp.getName() + "verdaechtigt: " + waffe
//				+ person + raum.getName() + "\n");
//		Konsole.hisLetzteRunde.add(sp.getName() + "verdaechtigt: " + waffe
//				+ person + raum.getName() + "\n");
//		return sp.verdaechtige(person, raum, waffe);			//Gezeigte/Nicht gezeigte Karte kommt zurück
//	}
//
//	//Setzt verdächtigen Spieler in Raum, wo Verdacht ausgesprochen wurde
//	private void setzeVerdaechtigenSpielerRaum(String person, Raum raum)
//	{
//		// Richtige Person setzen
//		if(person.equals("Oberst von Gatow"))
//		{
//			Konsole.vec.add("Spieler Oberst von Gatow wird in Raum "
//					+ raum.getName() + " gesetzt\n");
//			StartCluedo.mensch1.setPosition(raum);
//		}
//		else if(person.equals("Frau Weiß"))
//		{
//			StartCluedo.cpu1.setPosition(raum);
//			Konsole.vec.add("Spieler Frau Weiß wird in Raum " + raum.getName()
//					+ " gesetzt\n");
//		}
//		else if(person.equals("Reverend Grün"))
//		{
//			StartCluedo.cpu2.setPosition(raum);
//			Konsole.vec.add("Spieler OReverend Grün wird in Raum "
//					+ raum.getName() + " gesetzt\n");
//		}
//		else if(person.equals("Baronin von Porz"))
//		{
//			StartCluedo.cpu3.setPosition(raum);
//			Konsole.vec.add("Spieler aronin von Porz wird in Raum "
//					+ raum.getName() + " gesetzt\n");
//		}
//		else if(person.equals("Professor Bloom"))
//		{
//			StartCluedo.cpu4.setPosition(raum);
//			Konsole.vec.add("Spieler Professor Bloom wird in Raum "
//					+ raum.getName() + " gesetzt\n");
//		}
//		else if(person.equals("Fräulein Gloria"))
//		{
//			StartCluedo.cpu5.setPosition(raum);
//			Konsole.vec.add("Spieler Fräulein Gloria wird in Raum "
//					+ raum.getName() + " gesetzt\n");
//		}
//	}
//
//	/**
//	 * 
//	 * @param sp Spieler welche Anklage erhebt
//	 * @return Erfolg.
//	 */
//	//klagt eine Person an
//	public boolean spielerAnklage(Mensch sp)
//	{
//		String person;
//		String waffe;
//		System.out.println("Geben Sie die Person an, die Sie verdächtigen.");
//		sc.nextLine();
//		boolean personVorhanden = false;
//		boolean waffeVorhanden = false;
//		while(true)				//ueberprueft Richtigkeit des Namens
//		{
//			person = sc.nextLine();
//			for(int i = 0; i < Karte.getVerd().length; i++)
//			{
//				if(Karte.getVerd()[i].equals(person))
//				{
//					personVorhanden = true;
//				}
//			}
//			if(personVorhanden == true)
//			{
//				break;
//			}
//			System.out
//					.println("Die eingegebene Person gibt es nicht! Bitte neu eingeben.");
//		}
//		Konsole.vec.add("Verdächtigte Person: " + person + "\n");
//		Raum raum = sp.getPosition();
//		Konsole.vec.add("Verdächtigte Raum: " + raum.getName() + "\n");
//		System.out.println("Geben Sie die Tatwaffe an, die Sie verdächtigen.");
//		while(true)				//ueberprueft Richtigkeit der Waffe
//		{
//			waffe = sc.nextLine();
//			for(int i = 0; i < Karte.getWaffe().length; i++)
//			{
//				if(Karte.getWaffe()[i].equals(waffe))
//				{
//					waffeVorhanden = true;
//				}
//			}
//			if(waffeVorhanden == true)
//			{
//				break;
//			}
//			System.out
//					.println("Die eingegebene Waffe gibt es nicht! Bitte neu eingeben.");
//		}
//		Konsole.vec.add("Verdächtigte Waffe: " + waffe + "\n");
//		setzeVerdaechtigenSpielerRaum(person, raum);				//setzt Angeklakten in Raum, wo Anklage ausgesprochen
//		boolean geheimAkteErraten = false;
//		
//		//Wenn Anklage mit Geheimakte überein stimmt, dann return true für Gewinner
//		if(person.equals(Spielbrett.getGeheimakte()[0])
//				&& raum.getName().equals(Spielbrett.getGeheimakte()[1])
//				&& waffe.equals(Spielbrett.getGeheimakte()[2]))
//			geheimAkteErraten = true;
//		else
//		{
//			Konsole.algInfos.add("     " + sp.getName() + "\n");
//			spielerNochVorhanden -= 1;		//-1 Spieler, da dieser gerade rausgeflogen ist
//		}
//		return geheimAkteErraten;
//	}
//	
//	// klagt eine person an
//	private boolean computerAnklage(Computer sp)
//	{
//		System.out.println("Der Computer erhebt eine Anklage.");
//		Konsole.vec.add("Der Computer " + sp.getName()
//				+ " erhebt eine Anklage.\n");
//		String person = Karte.getVerd()[Zufall.zufaelligeZahl(6) - 1];			//sucht zufällige Person für Anklage aus
//		Raum raum = sp.getPosition();
//		String waffe = Karte.getWaffe()[Zufall.zufaelligeZahl(6) - 1];			//sucht zufällige Waffe für Anklage aus
//		System.out.println("	Angeklakte Person: " + person);
//		Konsole.vec.add("	Angeklakte Person: " + person + "\n	Mord im Raum: "
//				+ raum.getName() + "\n	Mit der Waffe: " + waffe + "\n");
//		System.out.println("	Mord im Raum: " + raum.getName());
//		System.out.println("	Mit der Waffe: " + waffe);
//		setzeVerdaechtigenSpielerRaum(person, raum);							//setzt Angeklakten in Raum, wo Anklage
//		boolean geheimAkteErraten = false;
//		
//		//wenn Richtig geraten dann return true für Sieg
//		if(person.equals(Spielbrett.getGeheimakte()[0])
//				&& raum.getName().equals(Spielbrett.getGeheimakte()[1])
//				&& waffe.equals(Spielbrett.getGeheimakte()[2]))
//			geheimAkteErraten = true;
//		else
//		{
//			Konsole.algInfos.add("     " + sp.getName() + "\n");
//			spielerNochVorhanden -= 1;		//-1 Spieler, da dieser gerade rausgeflogen ist
//		}
//		return geheimAkteErraten;
//	}
//
//	/*
//	 * Computer
//	 * 
//	 */
//	// return --> gewonnen = true bzw. nichtGewonne = false
//	/**
//	 * @param Spieler welcher Am Zug ist (ComputerGegner)
//	 */
//	//Methode damit der Computer seinen Zug macht
//	public boolean computerZug(Computer sp)
//	{
//		Konsole.vec.add("####################\n");
//		System.out.println("####################");
//		Konsole.vec.add("Computer am Zug: " + sp.getName() + " ("
//				+ sp.getPosition().getName() + ")\n");
//		System.out.println("Computer am Zug: " + sp.getName() + " ("
//				+ sp.getPosition().getName() + ")");
//
//		System.out.println("Augen zum gehen insgesamt: " + sp.getWueCounter());
//		if(sp.getWueCounter() >= 6)				//wenn Wurf >5
//		{
//			return computerZugGr6(sp);		
//		}
//		else if(sp.getWueCounter() < 6 && sp.getWueCounter() >= 4)				//wenn Wurf >4 & <6
//		{
//			return computerZugKl4Gr6(sp);
//		}
//		else
//		{
//			System.out
//					.println("CPU hat nicht genug Augen und kann den Raum nicht wechseln!");
//			Konsole.vec
//					.add("CPU hat nicht genug Augen und kann den Raum nicht wechseln!\n");
//			return false;
//		}
//	}
//
//	//computer macht einen zug wenn Zahl größer gleich 4 und kleiner 6
//	private boolean computerZugKl4Gr6(Computer sp)
//	{
//		Raum inRaum = sp.getPosition();							//jetzige speicher Position
//		Raum vorherigePosition = sp.getPosition();				//jetzige speicher Position
//		int gehe4Raum = Zufall.zufaelligeZahl(2);				//Zufällige Zahl zwischen 1 und 2. wenn 2 geht 4er Raum sonst bleibt stehn
//		if(gehe4Raum == 2)
//		{
//			inRaum = sp.geheRaum4();							//ruft methode geheRaum4 auf
//			if(inRaum != vorherigePosition)						//wenn durch obrigen Methoden aufruf sich inRaum geändert hat, führe if-Anweisung aus
//			{
//				sp.setWueCounter(sp.getWueCounter() - 4);		//Würfelcounter -4, da noch öfter gehen kann
//				System.out
//						.println("In Raum " + inRaum.getName() + " gegangen!");
//						// Verdacht??#
//				int verdacht;
//				if(sp.getWueCounter() >= 4)				//wenn größer vir dann Zufallszahl zwischen 1 und 4 sonst 1-3. Da bei <4 Option weitergehen wegfällt
//				{
//					verdacht = Zufall.zufaelligeZahl(4);
//				}
//				else
//				{
//					verdacht = Zufall.zufaelligeZahl(3);
//				}
//				if(inRaum.getRaumNr() == 5)				//bei 5 Keller man muss stehen bleiben
//					verdacht = 0;
//				if(verdacht == 1)				//wenn 1 ruft methode computerVerdacht aus
//				{
//					if(computerVerdacht(sp).equals(""))
//						System.out.println("Computer hat keine Karte gefunden");
//					else
//						System.out.println("Computer hat eine Karte gefunden");
//					sp.setWueCounter(0);		//setzt WuerfelCounter auf 0, da Zug gemacht
//					return false;
//				}
//				else if(verdacht == 2)			//ruft Methode computerAnklage auf
//				{
//					sp.setWueCounter(0);
//					if(computerAnklage(sp))		//bei true Sieger
//					{
//						siegerIst(sp);
//						return true;
//					}
//					else
//					{
//						sp.setNochDrin(false);
//						System.out.println("Die Anklage war falsch. Spieler:"
//								+ sp.getName() + " ist ausgeschieden");
//						Konsole.vec.add("Die Anklage war falsch. Spieler:"
//								+ sp.getName() + " ist ausgeschieden\n");
//						return false;			//return false, da kein gewinner. SPielt geht weiter
//					}
//				}
//				else if(verdacht == 4)				//Pc kann einen raum noch weiter gehen
//				{
//					System.out.println("Computer geht noch einen Raum weiter");
//					computerZug(sp);				//ruft methode computerZug auf um noch einen Raum weiter zu kommen.
//				}
//				else
//				{
//					return false;
//				}
//			}
//			else
//			{
//				System.out
//						.println("Es kann kein Raum mit 4 Schritten erreicht werden. Der Wurf wird zwischen gespeichert.");
//			}
//		}
//		else
//		{
//			System.out.println("Der PC bleibt stehn und spart seine Schritte.");
//		}
//		return false;
//	}
//
//	//Computer macht einen zug wenn gewürfelte Zahl größer 6
//	private boolean computerZugGr6(Computer sp)
//	{
//		Raum inRaum = null;
//		inRaum = sp.geheRaum();
//		System.out.println("In Raum " + inRaum.getName() + " gegangen!");
//		int verdacht;				//verdacht ist für auswahl der option. Also eigentlich verdacht?
//		if(sp.getWueCounter() >= 4)					//wenn WuerfelCounter >4 dann Zufallszahl 1-4 wieder fuer Optinen, da dnan weitergehen möglich ist
//		{
//			verdacht = Zufall.zufaelligeZahl(4);
//		}
//		else
//		{
//			verdacht = Zufall.zufaelligeZahl(3);			//für die Optionen, ohen weitergehen
//		}
//		if(inRaum.getRaumNr() == 5)					//bei Raum 5 geht Keller keine möglichkeit was zu machen
//			verdacht = 0;
//		if(verdacht == 1)
//		{
//			sp.setWueCounter(0);					//hat option 1 benutzt, also Wuerfelcounter wieder auf 0
//			if(computerVerdacht(sp).equals(""))
//				System.out.println("Computer hat keine Karte gefunden");
//			else
//				System.out.println("Computer hat eine Karte gefunden");
//			return false;
//		}
//		else if(verdacht == 2)						//erhebt Anklage
//		{
//			sp.setWueCounter(0);
//			if(computerAnklage(sp))
//			{
//				siegerIst(sp);
//				return true;						//true fuer gewonnen, Spielende
//			}
//			else
//			{
//				sp.setNochDrin(false);				//Spieler rausgeflogen
//				System.out.println("Die Anklage war falsch. Spieler:"
//						+ sp.getName() + " ist ausgeschieden");
//				Konsole.vec.add("Die Anklage war falsch. Spieler:"
//						+ sp.getName() + " ist ausgeschieden\n");
//				return false;
//			}
//		}
//		else if(verdacht == 4)						//Spieler kann noch weiter gehen
//		{
//			System.out.println("Computer geht noch einen Raum weiter");
//			computerZug(sp);				//ruft methode computerZug auf um noch einen Raum weiter zu kommen.
//			return false;
//		}
//		else								//für PC bleibt stehen und macht nichts
//		{
//			sp.setWueCounter(0);			//Wuerfelcounter wird wieder auf 0 gesetzt
//			return false;
//		}
//	}
//
//	//Computer spricht einen verdacht aus
//	private String computerVerdacht(Computer sp)
//	{
//		System.out.println("Computer hat nen Verdacht: ");
//		Konsole.vec.add("Computer " + sp.getName() + " hat nen Verdacht: \n");
//		String person = Karte.getVerd()[Zufall.zufaelligeZahl(6) - 1];			//holt sich ein zufälliges Element aus Array Karte.getVerd
//		Raum raum = sp.getPosition();
//		String waffe = Karte.getWaffe()[Zufall.zufaelligeZahl(6) - 1];			//holt sich ein zufälliges Element aus Array Karte.getWaffe
//		Konsole.vec.add("Verdächtige Person: " + person + "\n");
//		Konsole.vec.add("Im Raum: " + raum.getName() + "\n");
//		Konsole.vec.add("Mit der Waffe: " + waffe + "\n");
//		
//		//Ausgabe des Verdachtes vom Pc
//		System.out.println("	Verdächtige Person: " + person);
//		System.out.println("	Im Raum: " + raum.getName());
//		System.out.println("	Mit der Waffe: " + waffe);
//		setzeVerdaechtigenSpielerRaum(person, raum);							//Spieler wird in Raum gesetzt, da wo Verdacht ausgesprochen 
//		Konsole.historieKomplett.add(sp.getName() + " verdaechtigt: " + waffe
//				+ ", " + person + ", " + raum.getName());
//		Konsole.hisLetzteRunde.add(sp.getName() + " verdaechtigt: " + waffe
//				+ ", " + person + ", " + raum.getName());
//		return sp.verdaechtige(person, raum, waffe);
//	}
//
//	//wenn Mensch WürfelCounter >4 und <6 hat
//	private boolean gehRaumwc4kl6(Mensch sp, Raum inRaum, boolean raumDa,
//			Raum raumf4[], int rf4index)
//	{
//		boolean raumOk = false;
//		System.out
//				.println("Bitte geben sie die Nr. des Raums an, den sie Betreten moechten!");
//		if(raumDa) // Wenn Raum da, dann Ausgabe der moeglichen verbindungen
//		{
//			if(rf4index == 0)
//				rf4index++;
//			for(int i = 0; i < rf4index; i++) // Alle Verbindungen ausgeben
//			{
//				System.out.println("	Sie koennen in folgenede Raum gehen: "
//						+ raumf4[i].getName() + " (" + raumf4[i].getRaumNr()
//						+ ")");
//				for(int k = 0; k < raumf4[i].getRaumverbindung().length; k++) // Moeglichkeiten von naechsten Raum
//				{
//					System.out.println("		Verbindungen zu: "
//							+ raumf4[i].getRaumverbindung()[k].getName()
//							+ " | Schritte: " + raumf4[i].getRaumAugen()[k]);
//				}
//			}
//			do // Raum einlesen
//			{
//				int raumnr;
//				while(true)
//				{
//					try
//					{
//						raumnr = sc.nextInt();
//						break;
//					}
//					catch(InputMismatchException e)
//					{
//						sc.next();
//						System.out
//								.println("Sie haben etwas Falsches eingegeben. Bitte neu eingeben");
//					}
//				}
//				try
//				{
//					inRaum = sp.geheRaum(raumnr, raumf4, rf4index);
//					raumOk = true;
//				}
//				catch(noRaumVerbindungException nrv) // Angegebener Raum ist
//				// kein Nachbarraum
//				{
//					System.out
//							.println("Der angegebene Raum ist von ihrer aktuellen Position nicht zu erreichen!");
//					System.out
//							.println("Bitte geben Sie erneut eine Raum-Nr. ein!");
//					raumOk = false;
//				}
//				catch(RaumZuWeitWegException zwwe) // Schrittzahl reicht
//				// fuer angegebenen Raum
//				// nicht aus
//				{
//					System.out
//							.println("Der angebene Raum kann nicht mit 4 Schritten erreicht werden!");
//					System.out
//							.println("Bitte geben Sie erneut eine Raum-Nr. ein!");
//					raumOk = false;
//				}
//			}
//			while(raumOk == false); // solange bis korekter Raum eingegeben
//			System.out.println("In Raum " + inRaum.getName() + " gegangen!");
//			// Setze wuerfelCounter wieder auf 0;
//			// sp.setWueCounter(0);
//			/*
//			 * Verdacht/Anklage?? bzw. weiter gehen?
//			 */
//			if(sp.getPosition().getRaumNr() == 5) // In Keller kein Mord oder Raum ueberspringen
//				return false;
//			else
//			// Abfragen was gewollt ist
//			{
//				System.out.println("Sie haben folgende Optionen");
//				System.out
//						.println("	Um ein Verdacht auszusprechen, \"v\" druecken.");
//				System.out
//						.println("	Um eine Anklage auszusprechen, \"a\" druecken.");
//				System.out.println("	Um auszusetzen, \"s\" drücken.");
//				boolean vierRaum = false;
//				/*
//				 * Nochmal gehen? --> erst Pruefen ob moeglich
//				 */
//				for(int j = 0; j < sp.getPosition().getRaumAugen().length; j++) // pruefen ob 4er-Raum da in naehe
//				{
//					if(sp.getPosition().getRaumAugen()[j] == 4) // Wenn Raum mit 4-Augen da --> setze true
//						vierRaum = true;
//				}
//				if(vierRaum == true && sp.getWueCounter() >= 4)
//				{
//					System.out.println("	Um nochmal zu gehen, \"w\" drücken.");
//				}
//				else
//				{
//					sp.setWueCounter(0);
//				}
//				return sucheAussageAus(sp);
//			}
//		}
//		else
//			return false;
//	}
//
//	//wenn Mensch WürfelCounter >6 hat
//	private boolean gehRaumWcmin6(Mensch sp, Raum inRaum, int gegangen)
//	{
//		boolean raumOk = true;
//		System.out
//				.println("Bitte geben sie die Nr. des Raums an, den sie Betreten möchten!");
//		for(int i = 0; i < sp.getPosition().getRaumverbindung().length; i++) // Alle erreichbaren Raeume ausgeben
//		{
//			Konsole.vec.add("Spieler " + sp.getName()
//					+ " kann in folgenede Raum gehen: "
//					+ sp.getPosition().getRaumverbindung()[i].getName() + " ("
//					+ sp.getPosition().getRaumverbindung()[i].getRaumNr()
//					+ ")\n");
//			System.out.println("	Sie können in folgenede Raum gehen: "
//					+ sp.getPosition().getRaumverbindung()[i].getName() + " ("
//					+ sp.getPosition().getRaumverbindung()[i].getRaumNr()
//					+ ") | Schritte: " + sp.getPosition().getRaumAugen()[i]);
//			// Moeglichkeiten von naechsten Raum aus
//			for(int j = 0; j < sp.getPosition().getRaumverbindung()[i]
//					.getRaumverbindung().length; j++)
//			{
//				System.out.println("		Verbindungen zu: "
//						+ sp.getPosition().getRaumverbindung()[i]
//								.getRaumverbindung()[j].getName()
//						+ " | Schritte: "
//						+ sp.getPosition().getRaumverbindung()[i]
//								.getRaumAugen()[j]);
//			}
//		}
//		do // Versuchen in Raum zu gehen
//		{
//			int raumnr;
//			while(true)
//			{
//				try
//				{
//					raumnr = sc.nextInt();
//					break;
//				}
//				catch(InputMismatchException e)
//				{
//					sc.next();
//					System.out
//							.println("Sie haben etwas Falsches eingegeben. Bitte neu eingeben");
//				}
//			}
//			try
//			{
//				inRaum = sp.geheRaum(raumnr);
//				raumOk = true;
//			}
//			catch(noRaumVerbindungException nrv) // Angegebener Raum ist kein
//			// NachabrRaum
//			{
//				System.out
//						.println("Der angegebene Raum ist von ihrer aktuellen Position nicht zu erreichen!");
//				Konsole.vec
//						.add("Der angegebene Raum ist von ihrer aktuellen Position nicht zu erreichen!Raum muss neu angeben werden.\n");
//				System.out.println("Bitte geben Sie erneut eine Raum-Nr. ein!");
//				raumOk = false;
//			}
//		}
//		while(raumOk == false);
//		Konsole.vec.add("Spieler " + sp.getName() + " ist in Raum "
//				+ inRaum.getName() + " gegangen!\n");
//		System.out.println("In Raum " + inRaum.getName() + " gegangen!");
//		// setze würfelCounter wieder auf 0;
//		// sp.setWueCounter(0);
//		/*
//		 * Verdacht/Anklage?? bzw. weiter gehen?
//		 */
//		if(sp.getPosition().getRaumNr() == 5) // Keller aussen vor lassen, da
//			// hier kein Mord
//			return false;
//		else
//		// Abfragen was gwollt ist
//		{
//			System.out.println("Sie haben folgende Optionen");
//			System.out
//					.println("	Um ein Verdacht auszusprechen, \"v\" drücken.");
//			System.out
//					.println("	Um eine Anklage auszusprechen, \"a\" drücken.");
//			System.out.println("	Um auszusetzen, \"s\" drücken.");
//			boolean vierRaum = false;
//			/*
//			 * Nochmal gehen? --> erst Pruefen ob moeglich
//			 */
//			for(int j = 0; j < sp.getPosition().getRaumAugen().length; j++) // pruefen ob 4er-Raum da in naehe
//			{
//				if(sp.getPosition().getRaumAugen()[j] == 4) // Wenn Raum mit 4-Augen da --> setze true
//					vierRaum = true;
//			}
//			if(sp.getWueCounter() >= 6 || vierRaum == true
//					&& sp.getWueCounter() >= 4)
//			{
//				System.out.println("	Um nochmal zu gehen, \"w\" drücken.");
//			}
//			return sucheAussageAus(sp);
//		}
//	}
//}
